package com.gimi.cloud.jimi.manage.consumer.feign;

import com.gimi.cloud.jimi.common.utils.reqhead.Response;
import com.gimi.cloud.jimi.dto.product.SecurityInstructionsDTO;
import com.gimi.cloud.jimi.manage.consumer.feign.config.FeignMultipartSupportConfig;
import feign.Headers;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

/**
 * @auther loongs
 * @date 2018/1/30  13:19
 */
@FeignClient(name = "jimi-manage-service" ,configuration = FeignMultipartSupportConfig.class)
public interface SecurityInstructionsFeignService {
    @Headers({"Content-Type: application/json","Accept: application/json"})
    @RequestMapping(value = "securityInstructions/getSecurityInstructionsPageList", method = RequestMethod.POST)
    Response getSecurityInstructionsPageList(SecurityInstructionsDTO securityInstructionsDTO);

    @Headers({"Content-Type: application/json","Accept: application/json"})
    @RequestMapping(value = "securityInstructions/getSecurityInstructionsSingle", method = RequestMethod.POST)
    Response getSecurityInstructionsSingle(SecurityInstructionsDTO securityInstructionsDTO);

    @Headers({"Content-Type: application/json","Accept: application/json"})
    @RequestMapping(value = "securityInstructions/addOrEditSecurityInstructions", method = RequestMethod.POST)
    Response addOrEditSecurityInstructions(SecurityInstructionsDTO securityInstructionsDTO);

    @Headers({"Content-Type: application/json","Accept: application/json"})
    @RequestMapping(value = "securityInstructions/delSecurityInstructions", method = RequestMethod.POST)
    Response delSecurityInstructions(SecurityInstructionsDTO securityInstructionsDTO);

    @Headers({"Content-Type: mutipart/form-data","Accept: application/json"})
    @RequestMapping(value = "/securityInstructions/fileUploadSecurityInstructions", method = RequestMethod.POST)
    Response fileUploadSecurityInstructions(MultiValueMap mutipartfiles);
}
